System.Array.ConvertAll 方法

方法描述

将一种类型的数组转换为另一种类型的数组。

语法定义(C# System.Array.ConvertAll 方法 的用法)

public static TOutput[] ConvertAll(
	TInput[] array,
	Converter converter
)

参数/返回值

参数值/返回值 参数类型/返回类型 参数描述/返回描述
array TInput[] 要转换为目标类型的从零开始的一维 Array。
converter System-Converter 一个 Converter,用于将每个元素从一种类型转换为另一种类型。
返回值 TOutput[] 目标类型的数组,包含从源数组转换而来的元素。

提示和注释

Converter 是对方法的委托,它将对象转换为目标类型。 array 的元素被逐个传递给 Converter,转换后的元素保存在新数组中。

源 array 保持不变。

此方法的运算复杂度为 O(n),其中 n 是 array 的 Length。

System.Array.ConvertAll 方法例子

这两个列表都会显示。

using System;
using System.Drawing;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        PointF[] apf = {
            new PointF(27.8F, 32.62F),
            new PointF(99.3F, 147.273F),
            new PointF(7.5F, 1412.2F) };

        Console.WriteLine();
        foreach( PointF p in apf )
        {
            Console.WriteLine(p);
        }

        Point[] ap = Array.ConvertAll(apf, 
            new Converter(PointFToPoint));

        Console.WriteLine();
        foreach( Point p in ap )
        {
            Console.WriteLine(p);
        }
    }

    public static Point PointFToPoint(PointF pf)
    {
        return new Point(((int) pf.X), ((int) pf.Y));
    }
}

/* This code example produces the following output:

{X=27.8, Y=32.62}
{X=99.3, Y=147.273}
{X=7.5, Y=1412.2}

{X=27,Y=32}
{X=99,Y=147}
{X=7,Y=1412}
 */

异常

异常 异常描述
ArgumentNullException
  • array 为 null。
  • converter 为 null。

命名空间

namespace: System

程序集: mscorlib(在 mscorlib.dll 中)

版本信息

.NET Framework 受以下版本支持:4、3.5、3.0、2.0 .NET Framework Client Profile 受以下版本支持:4、3.5 SP1

适用平台

Windows 7, Windows Vista SP1 或更高版本, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008(不支持服务器核心), Windows Server 2008 R2(支持 SP1 或更高版本的服务器核心), Windows Server 2003 SP2 .NET Framework 并不是对每个平台的所有版本都提供支持。有关支持的版本的列表,请参见.NET Framework 系统要求。